
昨天談 Markdown、JSON、YAML 與 HTML,目的不是讓每個人突然變成工程師,而是讓人、AI 與程式之間少猜一點。
但多數時候,我們不會先寫 JSON 才跟 AI 聊天,而是直接說:
幫我整理這篇文章。
幫我做一份簡報。
幫我分析這份資料。
這些句子雖然都是中文,卻沒有真的把工作交代清楚。「整理」是摘要、分類、改寫,還是表格?簡報要給教授、同學,還是不熟悉主題的人?分析資料是找趨勢、算統計量,還是找出哪裡怪怪的?
AI 不會因為我們心裡想得很清楚,就自動通靈你的腦袋。
當 AI 已經能寫文章、處理資料,甚至透過 Function Calling 使用工具後,新的問題就是:
我們該怎麼用自然語言,把一件工作交代清楚?
這正是 Prompt Engineering 想處理的事情。
第一次接觸 Prompt Engineering,常會看到像咒語的句子:
看久了會懷疑:使用 AI 是在交代工作,還是在召喚儀式?
Prompt Engineering 的核心,不是找神奇句子,而是:
把腦中的需求,轉成 AI 可以理解、執行與驗收的工作說明。
Anthropic 把 Claude 類比成新承包商:它不知道你的背景與任務,需要具體資訊。
想像新同事很有能力,你說:
幫我弄一下那個東西。
等等,「那個東西」從頭到尾都沒有正式出場,到底是什麼(翻桌)!
不同框架會使用不同欄位,但先不用急著背縮寫。一個能讓 AI 開始工作的 Prompt,至少要回答:
例如,原本只說:
幫我整理這篇論文。
可以改成:
## 背景
我是地球科學系學生,正在準備一場給同學聽的論文導讀。
同學具備基礎地質知識,但不熟悉機器學習。
## 任務
閱讀我提供的論文,整理研究問題、使用資料、研究方法、
主要結果與作者提出的限制。
## 限制
- 不要補充論文中沒有提到的結論
- 專有名詞第一次出現時,附上一句生活化解釋
- 無法從原文確認的內容,請標記為「原文未說明」
## 輸出格式
使用 Markdown,依照以下五個標題輸出:
1. 研究問題
2. 使用資料
3. 研究方法
4. 主要結果
5. 研究限制
這段沒有魔法,只是把模糊的工作說明拆開。AI 仍可能犯錯,但至少不必同時猜:讀者懂多少、哪些內容不能亂加,以及最後要長成什麼樣子。
Prompt 的價值,往往不是讓模型突然變聰明,而是減少它需要自由發揮的空間。
2023 年,Sheila Teo 在新加坡政府科技局舉辦的Prompt大賽,以 CO-STAR框架贏得了冠軍。
CO-STAR 將 Prompt 拆成六個部分:
可以先把它當成檢查表:
## Context
[提供背景資訊]
## Objective
[明確描述任務]
## Style / Tone
[指定表達方式與語氣]
## Audience
[說明目標讀者]
## Response
[定義輸出格式]
它不能保證滿分答案,卻能提醒我們是否漏講條件。這像旅行前的清單:去便利商店不用檢查護照;出國一個月時,最好也別只記得帶充電線。
假設任務是:
幫我寫一篇介紹生成式 AI 的文章。
這句不是不能用,但 AI 得自己決定深度、語氣、受眾與格式。最後很可能得到一篇「生成式 AI 正在改變世界」開頭、「未來值得期待」結尾的標準作文。
可以改寫為:
## Context
我要替大學通識課程撰寫一篇生成式 AI 入門文章。
讀者大多使用過 ChatGPT,但沒有程式設計或機器學習背景。
## Objective
用生活化方式解釋生成式 AI 如何根據使用者輸入產生文字,
並說明它適合與不適合處理的任務。
## Style
採用科普文章寫法:先用生活類比建立理解,
再補上必要的正式名詞。
## Tone
親切、清楚,可加入少量幽默,但不要使用浮誇的宣傳語氣。
## Audience
18 至 22 歲的大學生,對 AI 有興趣,但尚未系統性學習相關知識。
## Response
使用 Markdown,控制在 1,200 字以內,包含:
1. 一個生活化的開場
2. 生成式 AI 的基本原理
3. 三個適合使用的情境
4. 三個需要小心的限制
5. 一個讓讀者反思的結尾問題
它沒有用更華麗的詞,而是把任務邊界說清楚。尤其 Audience 很容易被忽略:同樣解釋 Transformer,寫給研究生、地球科學系學生與國中生,詞彙、例子與細節都不應相同。沒有受眾,AI 只能自己挑讀者;運氣不好時,它可能直接寫給另一個 AI 看。不同Prompt比較的結果可以參照day08_practice.ipynb
框架是協助思考,不是每次都要照表操課。可以依任務複雜度決定要補多少資訊。
直接交代任務與輸出即可:
請把下面的會議紀錄整理成五點摘要,使用繁體中文。
若連簡單的需求都要寫成:
Context:我剛剛開完團隊週會。
Objective:整理會議紀錄摘要。
Style:條列式摘要。
Tone:專業簡潔。
Audience:團隊成員。
Response:五點繁體中文摘要。
原本三秒能交代完的事,就突然像在填政府標案文件。
再補上受眾、用途與語氣:
請把下面的研究摘要改寫成 LinkedIn 貼文。
讀者是對 AI 有興趣、但沒有技術背景的職場工作者。
語氣專業但不要像新聞稿,控制在 500 字內。
Style 是文章怎麼寫,例如科普文章、新聞稿或操作手冊;Tone 是給人的感覺,例如正式、親切、幽默或謹慎。文章可以是科普風格,同時保持親切語氣。
比起要求 AI「模仿某位仍在世作者的風格」,更實用的是描述可執行的特徵:
使用短句、生活化比喻與清楚的小標題。
避免過度華麗的形容詞,每一段只處理一個觀念。
這時再用 CO-STAR 或其他結構化框架,把條件攤開。真正要學的不是「每次都寫 CO-STAR」,而是知道何時要補充哪些資訊。
其中最容易漏掉的是 Response。不要只說「整理一下」,而要說清楚要拿到什麼:300 字摘要、五點條列、Markdown 表格、JSON、簡報大綱或需要引用來源的報告。
同一批論文,自己閱讀適合 Markdown 摘要;比較方法適合表格;交給程式處理需要 JSON;上台報告需要簡報大綱。交代工作前,多問一句:
這份結果下一步要拿來做什麼?
很多 Prompt 的問題不是任務說錯,而是沒交代工作做完後要送去哪裡。
初學者不必先學會寫完美 Prompt;可以先請 AI 協助整理。若想法還模糊,先用自然語言釐清需求,再請AI幫你收斂成一個好的Prompt, 帶到新對話後貼上執行即可,通常比一開始硬湊模板有效。
可以這樣說:
我想請 AI 完成下面的工作,但還不知道如何寫成清楚的 Prompt。
請先不要執行任務,先完成以下工作:
1. 找出我缺少哪些必要資訊
2. 最多詢問我五個問題
3. 根據我的回答,使用 CO-STAR 結構整理成 Prompt
4. 將最終 Prompt 放在 Markdown 程式碼區塊中
我的初步需求是:
我要把一篇研究論文整理成給大學生聽的十分鐘簡報。
重點不是把思考外包給 AI,而是把它當成需求訪談者。有時候我們不是不會寫 Prompt,而是還沒想清楚要什麼。讓 AI 先提問,可能會發現:聽眾知道什麼?是否要批判論文限制?要大綱還是完整講稿?
AI 不只可以回答問題,也可以協助把問題問完整。
Prompt 教學常建議:
你是一位專業資料科學家。
角色設定能幫助模型選擇較適合的詞彙與觀點;但一句「你是醫師」,不會替模型增加最新醫學知識,一句「你是通靈王」,也不會讓AI接上你的腦袋。
較好的寫法是把角色、任務與判斷方式放在一起:
你是一位協助大學生閱讀研究論文的教學助理。
請辨認研究問題、資料、方法、主要結果與限制。
如果原文沒有提供資訊,不要自行補充。
專有名詞第一次出現時,附上一句一般學生能理解的解釋。
真正有用的不是「教學助理」這頂帽子,而是後面可執行、可檢查的規則。制服可以幫助進入角色,但不能代替職前訓練。
即使 Prompt 已把背景、目標、受眾與格式寫完整,模型仍可能:
Prompt Engineering 能改善溝通,卻不能取代查核、工具驗證與領域知識。高風險領域中,清楚的 Prompt 只是起點,不是最後簽核。
可以把 Prompt 想成工作單。工作單寫得好,師傅比較不容易跑錯地方;但完工後,屋主還是要驗收。不能因為地址與油漆色號都寫得漂亮,就假設牆面沒有漏刷。
AI 回答不好時,我們很容易立刻說:
這個模型不行。
有時確實是模型能力有限;但也可能是我們只給了一句模糊要求,卻期待它腦補所有背景。
Prompt Engineering 最值得學的不是收集模板,而是把工作想清楚:
這些問題也適用於人類的工作溝通。AI 只是誠實地把一件事放大:
當需求沒有說清楚時,對方只能猜。
今天先處理「第一次如何把工作交代清楚」。即使使用同一個 Prompt,不同模型仍可能給出不同結果;第一次回答看起來不錯,使用時也可能發現語氣太硬、太長、格式不對,或漏掉條件。
重要 Prompt 不會一次寫完。
明天,我們會進入 Prompt Engineering II:如何迭代優化出符合心中答案的Prompt。
參考資料